package com.example.server.service;

import com.example.server.entity.RecentPlayedScript;
import com.example.server.entity.Role;
import com.example.server.entity.Scene;
import com.example.server.entity.Script;

import java.util.List;

public interface ScriptService {

    Script addScript(String title, String author,String image, String content, String tags);

    Script getScriptById(Integer id);

    List<Script> getAllScripts();

    List<Script> getScriptsByTitle(String title);

    List<RecentPlayedScript> getRecentPlayedScripts(Integer id);

    void updateScript(Integer id, String title, String content, String tags);

    List<Script> getScriptsByAuthor(String author);

    void deleteScriptByID(Integer id);

    void addRole(Integer scriptId, String name, String description, String traits);

    void addScene(Integer scriptId, String description);

    void updateRole(Integer id, Integer scriptId, String name, String description, String traits);

    void updateScene(Integer id, String sceneDescription);

    void deleteRoleById(Integer id);

    void deleteSceneById(Integer id);

    Role getRoleById(Integer id);

    List<Role> getRolesByScriptId(Integer scriptId);

    Scene getSceneById(Integer id);

    Scene getScenesByScriptId(Integer scriptId);

    void uploadImage(Integer id,String image);
}
